package org.cainiao.api.lark.dto.response.docs.docs.apireference.document.text;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serial;
import java.io.Serializable;

/**
 * <br />
 * <p>
 * Author: Cai Niao(wdhlzd@163.com)<br />
 */
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
public class LarkTextElement implements Serializable {

    @Serial
    private static final long serialVersionUID = -4483246276718654240L;

    /**
     * 文字<br />
     * 支持对 Page、Text、Heading 1 ~ 9、Bullet、Ordered、Code、Quote、【代办】块进行修改
     */
    private LarkTextRun textRun;

    /**
     * 提及 @用户<br />
     * 支持对 Text、Heading 1 ~ 9、Bullet、Ordered、Quote、【代办】块进行修改
     */
    private LarkMentionUser mentionUser;

    /**
     * 提及 @文档<br />
     * 支持对 Text、Heading 1 ~ 9、Bullet、Ordered、Quote、【代办】块进行修改
     */
    private LarkMentionDoc mentionDoc;

    /**
     * 日期提醒<br />
     * 支持对 Text、Heading 1 ~ 9、Bullet、Ordered、Quote、【代办】块进行修改
     */
    private LarkReminder reminder;

    /**
     * 内联文件<br />
     * 仅支持删除或移动位置，不支持创建新的内联文件
     */
    private LarkInlineFile file;

    /**
     * 未支持的 TextElement
     */
    private LarkUndefinedElement undefined;

    /**
     * 内联块<br />
     * 仅支持删除或移动位置，不支持创建新的内联块
     */
    private LarkInlineBlock inlineBlock;

    /**
     * 公式
     */
    private LarkEquation equation;
}
